﻿namespace Creek.UI.EFML.Base
{
    using System.Collections.Generic;

    using Creek.UI.EFML.Base.Controls;
    using Creek.UI.Effects;

    using EFML_Runtime.Internal.Base.JS.ScriptingTypes.Transitions;

    public class UiElement : ElementBase
    {
        #region Fields

        public Dictionary<string, string> Events = new Dictionary<string, string>();

        public string ID;

        public IValidator Validator;

        public string value;

        #endregion

        #region Constructors and Destructors

        public UiElement()
        {
            this.Events.Add("onhover", null);
            this.Events.Add("onclick", null);
            this.Events.Add("onleave", null);
        }

        #endregion

        #region Public Properties

        public virtual IStyle style { get; set; }

        public Transition transition { get; set; }

        #endregion
    }
}